Ordering Optimisations for Concurrent Logic Programs

نویسنده

  • Andy King
چکیده

Ordering optimisations are optimisations that can be applied to a concurrent logic program when the atoms of a clause are known to be ordered. In this paper ordering optimisations are reviewed, reformulated and refined. The paper explains how ordering optimisations can be realised in terms of abstract interpretation and shows that by, building on schedule analysis, simple, efficient and accurate forms of abstract interpretation can achieved. The paper outlines how to: identify instances of unification which can be simplified or removed; distinguish repeated synchronisation instructions; indicate which redundant checks can be removed when producers are ordered before consumers in the same thread; identify which variables can be accessed without dereferencing; indicate where variable initialisation and unification can be simplified; and show which variables can be allocated to an environment. Some safety checks can also be removed by using mode information.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Ordering Optimizations for Concurrent Logic Programs

Ordering optimisations are optimisations that can be applied to a concurrent logic program when the atoms of a clause are known to be ordered. In this paper ordering optimisations are reviewed, reformulated and refined. The paper explains how ordering optimisations can be realised in terms of abstract interpretation and shows that by, building on schedule analysis, simple, efficient and accurat...

متن کامل

SMT Solving for the Theory of Ordering Constraints

Constraint solving and satisfiability checking play an important role in various tasks such as formal verification, software analysis and testing. In this paper, we identify a particular kind of constraints called ordering constraints, and study the problem of deciding satisfiability modulo such constraints. The theory of ordering constraints can be regarded as a special case of difference logi...

متن کامل

Verifying Fence Elimination Optimisations

We consider simple compiler optimisations for removing redundant memory fences in programs running on top of the x86-TSO relaxed memory model. While the optimisations are performed using standard thread-local control flow analyses, their correctness is subtle and relies on a non-standard global simulation argument. The implementation and the proof of correctness are programmed in Coq as part of...

متن کامل

Sequentialization of Parallel Logic Programs with Mode Analysis

The family of concurrent logic programming languages based on Flat-Guarded Horn Clauses has proven to be a great asset to programmers seeking to quickly construct ee-cient programs for highly parallel shared-memory machines. If these languages are to be implemented eeciently for other architectures, however, language-speciic compile-time analysis techniques must be improved. This work describes...

متن کامل

Slicing Concurrent Logic Programs

Program slicing has been widely studied for imperative programs, but for logic programs it is just starting. In this paper we address the problem of slicing concurrent logic programs. To solve this problem, we propose three types of primary program dependences between arguments in concurrent logic programs, named the sharing dependence, communication dependence and uni cation dependence. We als...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005